Recently, onboard cameras for picking up images of a situation around a vehicle are being mounted in an increasing number of vehicles such as automobiles. The images picked up by the onboard camera are extremely useful because, by detecting an object in the image, the images can be utilized to determine the possibility of a collision between the vehicle and the object or to support steering of the vehicle when parking.
Image processing technology for detecting an object within an image (image based on the picked-up image and including processing target object; hereunder, referred to as “processed image”) is being developed at a remarkable pace in recent years with a view to reducing the time required for detection while enhancing the detection accuracy. Pattern matching technology such as technology that uses, for example, HOG (histogram of oriented gradients) feature values may be mentioned as an example of such kind of technology for detecting objects.
However, in pattern matching, if the bilateral symmetry of an object in a processed image is lost, it is extremely difficult to detect the object. For example, in the case of using a camera having a narrow angle of view, an object, at a position that is separated from the center position of the processed image, that is, an object located at a position which is close to the vehicle in which the camera is mounted and deviates in the lateral direction, cannot originally be included in the processed image and therefore cannot be detected in many cases. Further, even when an object is included in the processed image, in a case where a detection target surface (for example, the front surface of an automobile that is approaching from the rear of the vehicle in which the camera is mounted) of the object is not a completely flat surface, the object cannot be detected because the bilateral symmetry thereof is lost.
Further, in a case where, in order to deal with loss of bilateral symmetry, a plurality of dictionaries are previously generated by using images of an object picked up from a corresponding plurality of directions for each dictionary, a large memory that has a size that corresponds to the number of dictionaries is required.